home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
dev
/
obero
/
oberon_lib.lha
/
oberon-a
/
source1.lha
/
source
/
Amiga
/
ConUnit.mod
< prev
next >
Wrap
Text File
|
1994-08-08
|
4KB
|
112 lines
(***************************************************************************
$RCSfile: ConUnit.mod $
Description: Interface to console.device
Created by: fjc (Frank Copeland)
$Revision: 3.2 $
$Author: fjc $
$Date: 1994/08/08 01:11:35 $
$VER: conunit.h 36.15 (20.11.90)
Includes Release 40.15
(C) Copyright 1985-1993 Commodore-Amiga, Inc.
All Rights Reserved
Oberon-A interface Copyright © 1994, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
MODULE ConUnit;
(*
** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
** $V- OvflChk $Z- ZeroVars
*)
IMPORT
E := Exec, IE := InputEvent, KM := KeyMap, G := Graphics,
I := Intuition, C := Console;
(*
** Console device unit definitions
*)
CONST
(* ---- console unit numbers for OpenDevice() *)
library * = -1; (* no unit, just fill in device field *)
standard * = 0; (* standard unmapped console *)
(* ---- New unit numbers for OpenDevice() - (V36) *)
charMap * = 1; (* bind character map to console *)
snipMap * = 3; (* bind character map w/ snip to console *)
(* ---- New flag defines for OpenDevice() - (V37) *)
flagDefault * = {};
flagNodrawOnNewsize * = {0};
pmbAsm * = C.mLNM+1; (* internal storage bit for AS flag *)
pmbAwm * = pmbAsm+1; (* internal storage bit for AW flag *)
maxTabs * = 80;
TYPE
ConUnitPtr * = CPOINTER TO ConUnit;
ConUnit * = RECORD (E.MsgPort)
(* ---- read only variables *)
window - : I.WindowPtr; (* intuition window bound to this unit *)
xCP - : INTEGER; (* character position *)
yCP - : INTEGER;
xMax - : INTEGER; (* max character position *)
yMax - : INTEGER;
xRSize - : INTEGER; (* character raster size *)
yRSize - : INTEGER;
xROrigin - : INTEGER; (* raster origin *)
yROrigin - : INTEGER;
xRExtant - : INTEGER; (* raster maxima *)
yRExtant - : INTEGER;
xMinShrink - : INTEGER; (* smallest area intact from resize process *)
yMinShrink - : INTEGER;
xcCP - : INTEGER; (* cursor position *)
ycCP - : INTEGER;
(* ---- read/write variables (writes must must be protected) *)
(* ---- storage for AskKeyMap and SetKeyMap *)
keyMapStruct * : KM.KeyMap;
(* ---- tab stops *)
tabStops * : ARRAY maxTabs OF E.UWORD;
(* 0 at start, 0FFFFH at end of list *)
(* ---- console rastport attributes *)
mask * : E.BSET;
fgPen * : SHORTINT;
bgPen * : SHORTINT;
aolPen * : SHORTINT;
drawMode * : E.BSET;
obsolete1 * : SHORTINT; (* was cuAreaPtSz -- not used in V36 *)
obsolete2 * : E.APTR; (* was cuAreaPtrn -- not used in V36 *)
minterms * : ARRAY 8 OF E.UBYTE; (* console minterms *)
font * : G.TextFontPtr;
algoStyle * : E.UBYTE;
txFlags * : E.BSET;
txHeight * : E.UWORD;
txWidth * : E.UWORD;
txBaseline * : E.UWORD;
txSpacing * : INTEGER;
(* ---- console MODES and RAW EVENTS switches *)
modes * : ARRAY (pmbAwm+7) DIV 8 OF E.BSET; (* one bit per mode *)
rawEvents * : ARRAY (IE.classMax+8) DIV 8 OF E.BSET;
END; (* ConUnit *)
END ConUnit.